＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

                        PC-FXGAオーサリングソフトウェア
                    『ＧＭＡＫＥＲ』スタータキットプラス(Ver.1.１)
                        ”ＮＸＣＤ２．ＥＸＥ(Ver.1.01)”，
                        ”ＴＧＦＸ．ＳＹＳ(Ver.1.00)”，
                        ”ＮＸＳＢＰＣＭ．ＳＹＳ(Ver.1.00)”，
                        ”ＮＸＥＭＰＣＭ．ＳＹＳ(Ver.1.00)”，
                        ”ＣＤＭＡＫＥ．ＥＸＥ(Ver.1.42)”，
                        ”ＥＭＴＯＣ．ＥＸＥ(Ver.1.00)”の解説

                                        日本電気ホームエレクトロニクス株式会社
                                                          １９９６年７月３０日

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

目次

第１章  はじめに
１．１  特徴
１．２  動作環境
１．３  ソフトウェア一覧

第２章  デバイスドライバ
２．１  ＴＧＦＸ．ＳＹＳ
２．２  ＮＸＳＢＰＣＭ．ＳＹＳ
２．３  ＮＸＥＭＰＣＭ．ＳＹＳ

第３章  ＮＸＣＤ２．ＥＸＥ
３．１  起動方法
３．２  動作画面の解説
３．３  制限事項
３．４  より良いエミュレーションのために
３．５  注意事項

第４章  ＣＤＭＡＫＥ．ＥＸＥ
４．１  ＣＤＭＡＫＥ概要
４．２  使用方法
４．３  セクター配置情報（CDEM.INF)の解説
４．４  注意事項
４．５  ＥＭＴＯＣ．ＥＸＥ

付録  CONFIG.CDE、AUTOEXEC.CDEの例

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

第１章  はじめに

  ＣＤエミュレータ（NXCD2.EXE）は、ＰＣ−ＦＸＧＡ用ＣＤ−ＲＯＭドライブエミュ
レータです。ファイル（CDEM.CDE）にセクター配置情報を格納し、仮想ＣＤ−ＲＯＭと
してエミュレーションします。

  ＣＤエミュレータは、カレントデイレクトリに存在するこのファイルを参照してエミ
ュレーションを行います。ファイルが存在しない場合は起動することができません。
また、ＣＤエミュレータが起動している時にこのファイルを更新した場合、動作は保証
されません。
このソフトウェアはＰＣ−ＦＸＧＡのIBM PC/AT互換機用のCD-ROMドライブのエミュレ
ーターです。


■１．１  特徴

以下にＣＤエミュレータの特徴を示します。
１）2倍速以上のエミュレーション速度（機材によっては左記の限りではありません。）
２）セクター配置は自由自在
３）PC-FXGA用CD-ROMドライブのSCSIコマンドのほとんどをサポート
    (ユーザープログラムからはPC-FXGAのCDドライブの様に見えます)
４）データは通常DOSファイルシステム上に格納
５）バックグラウンド割り込み（int28h）をサポートしており、バックグラウンドタス
   クとして動作可能。(FXDB.EXEとの両立が可能）
６）CD AUDIO,DATA MODE-1をサポート


■１．２動作環境

以下のシステムが必要です。
IBM PC/AT互換機(PC-FXGA動作機種)
ＥＭＳメモリ      ：8MB以上

以下のものを用意することが必要です。
CTMMSYS.SYS	  ：CD-DAのエミュレーションに使用
SMARTDRV.EXE      ：より良い環境にするために使用
SHARE.EXE         ：より良い環境にするために使用


■１．３  ソフトウェア一覧

NXCD2.EXE         ：ＣＤエミュレータ本体
TGFX.SYS          ：ＰＣ−ＦＸＧＡ用ＳＣＳＩインターフェイスドライバー
NXSBPCM.SYS       ：ＰＣＭマネージャ
NXEMPCM.SYS       ：ダミーのPCMマネージャ
CDMAKE.EXE        ：セクター再配置情報作成ツール
EMTOC.EXE         ：セクター再配置情報ファイルのダンプ

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

第２章  デバイスドライバ

ＣＤエミュレータを動作させるために、下記のデバイスドライバを組み込む必要があり
ます。

■２．１  ＴＧＦＸ．ＳＹＳ

《名称》

ＰＣ−ＦＸＧＡ用ＳＣＳＩインターフェイスドライバ


《書式》

DEVICE=TGFX.SYS [スイッチ]


《機能》

PC-FXGAとのＳＣＳＩインターフェースを提供するドライバです。
データの入出力には、MS-DOSファンクションのIOCTLコマンドを使用します。
ＳＣＳＩインターフェイスを経由してメモリーの入出力の機能を提供します。


《スイッチ》

/ID=x
SCSIのIDを指定します。デフォルトで2です。
例
  DEVICE=TGFX.SYS /ID=2		ID番号２

/PORT=xxx
ＰＣ−ＦＸＧＡのＩ／Ｏポートアドレスを設定します。
例
  DEVICE=TGFX.SYS /PORT=2a0

/PAUSE
このオプションはブート時にTGFX.SYSをロードしたときにシステムを一時停止させ、
画面上のメッセージを読めるようにします。
メッセージを読みましたら任意のキーを押すことによって処理を再開させます。


■２．２  ＮＸＳＢＰＣＭ．ＳＹＳ

《名称》

ＮＸＣＤ用ＰＣＭマネージャ


《書式》

DEVICE=NXSBPCM.SYS [スイッチ]


《機能》

NXCD.EXEのＰＣＭマネージャです。
ＰＣＭファイルの再生を行い、ＣＤ−ＤＡのエミュレーションを行えるようにします。


《スイッチ》

/PAUSE
このオプションはブート時にNXSBPCM.SYSをロードしたときにシステムを一時停止させ、
画面上のメッセージを読めるようにします。
メッセージを読みましたら任意のキーを押すことによって処理を再開させます。


《注意》

このドライバを組み込む前に、必ずサウンドボードに付属しているCTMMSYS.SYSを先に
組み込む必要があります。
また、NXEMPCM.SYSを同時に組み込むことはできません。


■２．３  ＮＸＥＭＰＣＭ．ＳＹＳ

《名称》

ＮＸＣＤ用ＰＣＭマネージャのダミー

《書式》

DEVICE=NXEMPCM.SYS


《機能》

NXCD2.EXEを実行するためには、ＰＣＭマネージャが必要になります。
動作環境がＰＣＭファイルの再生が行える環境（CTMMSYS.SYSが使用できる環境）でな
い場合はNXSBPCM.SYSの変わりに、このドライバを使用します。

実行するのに、ＥＭＳメモリが１６ページ必要です。


《注意》

NXSBPCM.SYSを同時に組み込むことはできません。
このドライバは、あくまでもＰＣＭ再生を行わないことを前提に作成しています。この
ドライバを組み込んで、ＰＣＭ再生を行わないでください。行った場合、正常にＣＤエ
ミュレータが動作しない場合があります。

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

第３章  ＮＸＣＤ２．ＥＸＥ

ＰＣ−ＦＸＧＡ用のＣＤエミュレータの本体です。
実行するのに、ＥＭＳメモリが１４ページ必要です。


■３．１  起動方法

デバイスドライバの組み込み確認後、ＤＯＳのコマンドプロンプトから起動します。
この時カレントディレクトリにCDEM.CDEが存在する必要があります。
CDEM.CDEというファイルはセクター配置情報を格納したファイルです。

ＣＤエミュレータの起動方法には２通りあります。

１）通常使用
エミュレーション情報を画面に表示して使用する方法
プログラムの全体の流れをデバックする時に使用します。

    NXCD2

２）常駐使用
ＣＤエミュレータを常駐させ、デバッガと同時に使用する方法
個別のプログラムをデバックする時に使用します。

    NXCD2 -Z


《書式》

NXCD2 [スイッチ]


《スイッチ》

/Z
NXCD2を常駐します。
例)	NXCD2 /Z
常駐しますとエミュレーション情報をモニターすることができなくなります。
モニターするためにはもう一度NXCD2を起動します。
(自動的にモニターモードになります)

/R
NXCD2の常駐を解除します。
NXCD2を常駐後、ほかのプログラムを常駐させますと常駐解除ができなくなりますので
ご注意ください。

/X
NXCD2を詳細エミュレーションモードで起動します。

/Ffilename
セクター再配置情報ファイル（CDEM.CDE）のファイル名の指定


■３．２  動作画面の解説

ＣＤエミュレータを通常に起動しますと、仮想のＣＤ−ＲＯＭドライブが動作できる状
態になります。この状態で、初めてＰＣ−ＦＸＧＡからＳＣＳＩコマンドを受け付ける
ことができます。ＳＣＳＩコマンドを受け付けると下記のような表示をし、各コマンド
の処理を行います。

D:\ESP\NXCD>nxcd2
CD Emulator :The next generation  (PC-FX:NEC CD-ROM DRIVE FX 1.0E)
Version 1.01 (C) 1994 ,1996 HUDSON SOFT

　SCSI DRIVER: DOS TGMSCSI 1.0         HOST ADAPTER: FX-GA ON BOARD
  CDDA DRIVER: DOS PCMMGR  1.0         CDDA ADAPTER: Sound Blaster 16

ESC key to return to DOS prompt

SCSI BUS RESET
CM:12 INQUIRY           LUN=0 [NEC     CD-ROM DRIVE:FX 1.0E ] [S:00 M:00]
CM:00 TEST UNIT READY    [S:02 M:00]
CM:03 NEC REQUEST SENCE 70 00 06 00 00 00 00 02 00 29  [S:00 M:00]
CM:00 TEST UNIT READY    [S:00 M:00]
CM:12 INQUIRY           LUN=0 [NEC     CD-ROM DRIVE:FX 1.0E ] [S:00 M:00]
CM:DE NEC READ TOC      TNO MIN:01 MAX:28 [S:00 M:00]
CM:DE NEC READ TOC      TNO:1 00'02"00 AUDIO [S:00 M:00]
CM:DE NEC READ TOC      TNO:2 00'49"65 DATA  [S:00 M:00]
CM:28 READ 10           00000E06 0001 [S:00 M:00]
CM:28 READ 10           00000E07 0001 [S:00 M:00]
CM:28 READ 10           00000E08 0040 [S:00 M:00]
SCSI BUS RESET
SCSI BUS RESET
CM:12 INQUIRY           LUN=0 [NEC     CD-ROM DRIVE:FX 1.0E ] [S:00 M:00]
CM:00 TEST UNIT READY    [S:02 M:00]
CM:00 TEST UNIT READY    [S:00 M:00]
CM:43 READ TOC          START:01 LEN:12 [S:00 M:00]
CM:43 READ TOC          START:02 LEN:12 MSF [S:00 M:00]
CM:28 READ 10           00000E68 0001 [S:00 M:00]
CM:28 READ 10           00000E69 0005 [S:00 M:00]
CM:43 READ TOC          START:01 LEN:12 [S:00 M:00]
CM:43 READ TOC          START:01 LEN:12 MSF [S:00 M:00]

《解説》

CM:00 TEST UNIT READY    [S:02 M:00]
コマンドフェーズで00のコマンドをレシーブ
Check conditionで終了


CM:28 READ 10           00000E08 0040 [S:00 M:00]
コマンドフェーズで28のコマンドをレシーブ
論理ブロックアドレス 00000E08h
データ長 040h
Completeで終了


CM:43 READ TOC          START:02 LEN:12 MSF [S:00 M:00]
コマンドフェーズで043hコマンドをレシーブ
スタートトラック２、データ長１２
データフォーマットSCSI-2 MSF
Completeステータスで終了


CM:12 INQUIRY           LUN=0 [NEC     CD-ROM DRIVE:FX 1.0E ] [S:00 M:00]
コマンドフェーズで012hのコマンドをレシーブ
LUN=0
Completeステータスで終了


《記号の説明》

各記号の意味の詳細は ANSI X3T9.2を参照してください
フェーズ
SE:	セレクションフェーズ
CM:	コマンドフェーズ
MI:	メッセージインフェーズ
MO:	メッセージアウトフェーズ
DI:	データーインフェーズ
DO:	データーアウトフェーズ
ST:	ステータスフェーズ
BF:	バスフリーフェーズ
AR:	アービトレーションフェーズ
BF:	バスフリーフェーズ
RS:	リセレクションフェーズ

LEN:	データ長 16進表示
START:	スタート位置 16進表示
LEN=	データ長 10進表示

TNO:xx	トラック番号	(01から99,AAはリードアウト)
X:xx	インデックス番号	(00から99)
A:mm"ss'ff	絶対時間
R:mm"ss'ff	相対時間

C:	サブコード　コントロール
S:	サブコード演奏ステータス
F:	コマンドのデータフォーマット


■３．３  制限事項

NXCD2はハードウェアをソフトウェアでエミュレーションしている都合上、完全に
CD-ROMドライブ（以下「実機」と言います）と互換性があるわけではありません。
下記にエミュレーションでの制限事項を示します。

１）すべてのコマンドの動作に関わる制限
  ・PC-FXGAのＣＤエミュレータとして動作します。（ＳＣＳＩコマンドの解説に
    PC-FXGAの注意事項として記述されている動作をエミュレーションします。）

  ・ピックアップを移動する際のシーク時間はエミュレーションされません。

  ・アイドリング中のモーター停止状態からモーターを再起動するまでの時間はエミュ
    レーションされません。

  ・データ転送に際して、転送の速度はホストマシンのファイルシステムに依存します
    ので、実機のデータ転送の速度とは異なります。そのため、転送速度が実機よりも
    遅い環境では、動画再生やＣＤ−ＤＡの再生を行うと、再生が途切れながら行われ
    たり遅くなります。

  ・実機の機能をソフトウェアでエミュレーションしている為、メディアをイジェクト
    している、メディアをセットしていない、モーター停止時間設定等のハードウェア
    的な部分はエミュレーションされません。エミュレータはイジェクト機能がない
    ドライブとして扱います。

  ・マルチセッションは対応していません。

  ・イニシエータが不正なフェーズ制御をおこなった場合、動作保証できません。

  ・セレクションフェーズでタイムアウトが発生することがありますので、その事を考
　　慮してアプリケーションを作成する必要があります。

  ・ピッチコントロールは対応しません。そのため、ページ２ＢＨ（ピッチコントロー
    ルパラメータ）は対応しません。

  ・各コマンドから転送されるデータ（リターン・ステータス）で００固定のデータ
    (ページ０ＥＨ(オーディオコントロールパラメータ）の０３〜０７、１２〜１５
   バイト目のデータなど）は不定な値として扱います。

  ・最大トラック数は９８です。

２）オーディオ再生関連のコマンドの動作に関わる制限
  ・オーディオ再生時のサブコードリードは、ソフトウェアでエミュレーションしてい
    ますので実機と異なります。

  ・ミュート機能は対応していません。

３）各コマンド個別の動作に関わる制限
  ・TEST UNIT READYコマンド
    READY状態か否かをチェックする時、メディアのイジェクトやメディアをセットして
    いない等のハードウェアに依存する部分は、エミュレーションされません。

  ・REZERO UNIT コマンド
    ピックアップを開始位置に戻す時のシーク時間はエミュレーションされません。

  ・REQUEST SENSEコマンド
    このコマンドを実行後、実機ではセンスデータはクリアされてしまいますが、
    エミュレータではセンスデータはクリアされません。これは、ユーザープログラム
    の問題を容易に検証する為の仕様です。
    REQUEST SENSEを２回以上連続して行うと、実機では２回目以降はセンスデータが
    クリアされてしまっている為に、ユーザープログラムがエラーが起こった事を見落
    としてしまうと言う問題が発生します。エミュレータではこの問題を容易に検証で
    きるようにする為、２回以上連続して行ってもセンスデータをクリアしないように
    してあります。

  ・MODE SELECTコマンド
    ベンダーユニーク・パラメータの設定時、エミュレータと実機とでは、パラメータ
    ・リスト長の扱いに違いがあります。実機ではパラメータ・リスト長に１〜９を指
    定した場合は１０を指定した事として動作しますが、エミュレータでは指定した値
    がそのまま使われ不足分については不定な値が使われます。
    したがってベンダーユニーク・パラメータの設定時、パラメータ・リスト長に１０
    以外の値を指定できません。

    SCSI-2 準拠パラメータの設定時、エミュレータと実機とでは、パラメータ・リス
    ト長の扱いに違いがあります。実機ではパラメータ・リスト長に規定以外の不正な
    値を指定した場合はエラーを報告し指定した値を設定しませんが、エミュレータで
    はエラーにならず指定した値がそのまま使われ不足分については不定な値が使われ
    ます。
    したがってSCSI-2準拠パラメータの設定時、パラメータ・リスト長に規定以外の値
    を指定できません。

    エミュレータでは、XA=0 の MODE1 のみに対応しています。MODE2 、XA=1 の
    form1 、form2 には対応していません。未対応のパラメータを与えてもエラーには
    ならず正常終了しますが、常にXA=0 の MODE1 として動作し実機とは異なる動作を
    しますので注意してください。

  ・MODE SENSEコマンド
    PC の値が00B(Current)の時のみ対応を行い、それ以外の時は対応していません。

  ・START / STOP UNITコマンド
    ドライブがストップ状態からセットアップ状態になるまでのレディ待ち時間は
    エミュレーションされません。

    演奏停止中にLo/Ej＝0，START＝0を発行すると、実機では”CHECK  CONDITION”
    ステータスを返送しますが、エミュレータでは”GOOD”ステータスを返送します。

  ・READ TOCコマンド
    トラック番号に最大トラック番号よりも大きな値を指定した場合、実機ではエラー
    になり TOC 情報を返しませんが、エミュレータではリードアウトの TOC 情報を返
    します。

  ・PLAY AUDIO MSF
    エミュレータでデータトラックを再生しようとすると、エラーにならずにデータを
    音声として再生します。
    エミュレータでは、不正な位置を指定した場合は動作を保証しません。

  ・PLAY AUDIO TRACK INDEXコマンド
    エミュレータでデータトラックを再生しようとすると、エラーにならずにデータを
    音声として再生します。
    エミュレータでは、不正なトラック番号を指定した場合は動作を保証しません。

  ・PLAY AUDIO TRACK RELATIVEコマンド
    エミュレータでデータトラックを再生しようとすると、エラーにならずにデータを
    音声として再生します。
    エミュレータでは、不正なトラック番号を指定した場合は動作を保証しません。

  ・PLAY AUDIO TRACK RELATIVE(12)コマンド
    エミュレータでデータトラックを再生しようとすると、エラーにならずにデータを
    音声として再生します。
    エミュレータでは、不正なトラック番号を指定した場合は動作を保証しません。

  ・SET STOP TIMEコマンド
    ドライブの機能をソフトウェアでエミュレーションしている為、モーター停止時間
    設定など、ハードウェア的な部分はエミュレーションされません。コマンドで与え
    られた停止時間の設定値は無視します。

  ・READ TOC[DE]コマンド
    TYPE=02 で不正な TNO 番号を指定した場合CHECK CONDITIONが発生しますが、実機
    では SUB ERROR CLASS / SUB ERROR CODE に 21H を設定しますが、エミュレータ
    では 22H を設定します。

    また、データ転送時の各 TNO の１０バイトデータの１バイト目のデータ(CONTROL)
    の値は不定になります。

    実機では、リードアウトエリアアドレスは実際のアドレス＋1の値を返送しますが
    エミュレータでは、実際のアドレスを返送します。


■３．４  より良いエミュレーションのために

　SMARTDRV.EXEは必ず使用してください。

　NXCD2を起動するときに-Xオプションを使用するとSCSIの各フェーズが細かく表示さ
れます。そのためエミュレーション速度が低下しますので、CD-DA再生中に頻繁にSCSI
コマンドを発行しますとCD-DAの再生が間に合わなくなることがあります。

　データを格納するドライブに対して、DOSのDEFRAGコマンドなどを使用し、セクター
の配置を連続に保つことをおすすめします。
　また、完成したデータ(データ/プログラム)と、作業中のデータは別ドライブに格納す
るとシステム運用効率が向上します。


■３．５  注意事項

次のような方法では使用しないでください。動作が保証できなくなります。

１）エミュレーション最中にユーザーデータファイルを変更する。
２）マルチタスク環境下で使用する
３）テキストエディタなど常駐したままで使用する。


＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

第４章  ＣＤＭＡＫＥ．ＥＸＥ

セクター配置情報ファイルを作成する


■４．１  ＣＤＭＡＫＥ概要

ＣＤＲＯＭとはその名の通りＣＤにコンピュータ用データを格納したものです。
通常のＰＲＯＭとは異なり、様々なデータを格納することができます。
記録できるデータの種類は大きく分けてオーディオとデータの２種類に別れます。
ＣＤは１枚のディスクをトラックによって複数に分割できます。
１つのトラックには１種類のタイプのデータ(オーディオまたはデータ)しか記録できま
せん。
１つのトラックは０〜９９のインデックス番号で管理されているブロックに分割するこ
とができます。


１）オーディオトラックの中にオーディオトラックを複数配置する場合

オーディオトラックはただ単にならべるだけです


２）データートラックを複数配置する場合

データトラックを複数配置する場合もただ単に連続配置するだけです。


３）オーディオトラックとデータとラックを混在させる場合

この場合は少々複雑です。もともとＣＤ−ＲＯＭはオーディオ用のディスクを流用した
ものですので、オーディオが記録されている所にデータを記録しようという場合は特殊
なデータ(PRE GAP と　POST GAP)でデータトラックを挟みこんでやる必要があります。
データトラックの始まりのところでPRE GAPというデータブロックを挿入し、
データトラックの終わりでPOST GAPを挿入します。
データトラックが連続で複数続く場合は最初と最後にだけ挿入します。


■４．２  使用方法

ＣＤ−ＲＯＭ内のセクター配置情報ファイルを作成します。
通常のテキストファイルで記述されたセクター配置情報（CDEM.INF）からNXCD2で使用
できるフォーマットの再配置情報ファイル（CDEM.CDE)を作成します。

テキストベースのファイルはDOS上でのデータ位置(パス)や、トラック、インデックス
を指定するだけの簡単なファイルです。少々複雑なPRE GAPやPOST GAPの挿入などは自
動処理します。

《書式》

CDMAKE in_filename [out_filename]

out_filename を省略した時には、CDEM.CDE というファイル名でセクター再配置情報
ファイルが作成されます。すでに CDEM.CDE が存在する場合は、先にあるファイルを
CDEM.OLD にリネームします。


■４．３  セクター配置情報（CDEM.INF)の解説

テキストベースのファイルはＤＯＳ上でデータパス（位置）や、トラック、インデック
スを指定するだけの簡単なファイルです。複雑な PRE GAP や POST GAP の挿入は自動
的に処理しますので、記述する必要はありません。

以下に CDEM.INF のファイル例を示します。


[drives]
		A=C:\CDROM\	;仮想ドライブ名に実際のPATHを割り当てる
		B=C:\PCM\
		C=D:\BIN\
		BK=D:\BACKUP\
[tracks]			;このセクションでトラック配置を記述する
		start_track	;セミコロンの後はコメントが記述可能
		data_track1
		audio_opening
		audio_stage1
		audio_stage2
		audio_ending
[data.start_track]		;各トラックの内容を記述する
mode = audio
	B:message.pcm

[data.data_track1]
mode=1				;CD-ROM mode-1
index = 1			;省略した場合はindex = 1とする	
A:IPL.BIN
	$80 A:BOOT:BIN		;実際のファイルサイズとはべつにレングス指定可能

[data.audio_opening]
mode = audio
		B:opening.pcm	;オーディオトラック

[data.audio_stage1]
mode = audio
		B:stage1.pcm

[data.audio_stage2]
mode = audio
		B:stage2.pcm

[data.audio_ending]
mode = audio
index = 1
		BK:ending.pcm
index = 2
		BK:ending2.pcm


《解説》

１）DRIVESセクション
ファイルが存在するドライブ、ディレクトリを英数字１文字に割り当てます。

例　データ が C:\ADCDSYS　というディリクトリに存在する場合
A = C:\ADCDSYS

この場合、Aという文字にC:\ADCDSYSが割り当てられます。

２）TRACKSセクション
トラックの物理的配置を定義します。ここで指定するトラックはdataセクションで定義
されます。

３）DATAセクション
トラックの内容を定義します。
[data.＿＿＿]の形式で定義します。アンダーラインの所に任意の名前を定義すること
ができます。
この名前はTRACKSセクションでトラック配置を指定するのにも使用します。
名前は英数字（Ａ〜Ｚ、０〜９）が使用可能です。小文字と大文字は区別しません。

モードを定義する方法

最初にモードを定義します。

書式は次のようになります。

mode = 'モード'

モードで指定可能なものは次の様になります。

mode = audio	オーディオ	(2352/セクター)
	
mode = 0	モード０　データ	(2336/セクター)
mode = 1	モード１　データ	(2048/セクター)
mode = 2	モード２　データ	(2336/セクター)
	
モード2の場合、次の指定が可能となります。
form = 1	モード2 フォーム1	(2048/セクター)
form = 2	モード2 フォーム2	(2328/セクター)

これらのモードはつぎにモードを定義するか、あるいはそのトラックが終了するまで設
定を保持します。この設定が影響する範囲はトラック定義内です。
audioを設定したトラックに他のモードを設定することは出来ません

良い例）

[data.track]
mode = audio
index = 1
c:sample.bgm	;2つのファイルで構成されるトラック
c:sample2.bgm
index = 2
c:sample3.bgm

悪い例）
mode = audio	
index = 1
c:sample.bgm
mode = 1		;audioを宣言したあとにmode = 1を宣言したのでエラー
index = 2
c:program.bin

データファイルを指定する方法

ファイル名を指定する場合、ファイルが存在する場所は絶対バスでは指定出来ません。
DRIVESセクションで定義した文字でパスを指定します。
使用セクター数はファイルサイズから計算しますが、先頭に$??と指定すると使用セク
ター数を１６進数で定義することが出来ます。
この時の１セクターのサイズはmodeで指定されたサイズで計算されます。　
この時、実際のファイルサイズより大きい値を指定した場合、不足分は０のデータが続
いているものとして扱われます。
実際より小さい場合、超過分は無視しますが好ましくありません。
オーディオデータの場合は通常指定しません。

例）

[data.sample]
mode = 2
$20  Z:\SAMPLE\test.bin
$20  A:\bios\sample.VID


インデックスを定義する方法 その１データートラック

データセクションでとくに何も設定しない場合、データはindex番号１として扱われま
す。指定する場合は'index=n'(nは０から９９の値をとる)で指定します。この番号を指
定する場合、シーケンシャルに増加するように設定する必要があります。

間違い例
[data.sample]
index = 1
c:data.dat
index = 5	;1から5に飛んでいる
c:sample
index = 4	;5から4に戻っている。	
c:test
	
正しい例
index = 1
c:data.dat
index = 2
c:sample
index = 3
c:test

コメント

行の先頭で；を記述することが可能です。この場合、それ以降の文字はコメントとして
扱われます。

オーディオファイルについて

１トラック分のオーディオファイルは１つの方が好ましいのですが、複数のファイルで
構成することもできます。


■４．４  注意事項

エラーチェック機能

CDMAKEはエミュレーション定義ファイルの構文チェック機能を登載し、文法に間違いが
あったりした場合はその原因を通知します。しかし、そのチェックはCD-ROMの規格に添
った形でおこなわれるとは限りません。エミュレーションできる情報さえ定義されてい
れば正常終了します。この点に注意が必要です。

CDMAKEで作成される再配置情報ファイルはCD-ROMの規格には厳密には従っていません。
これは厳密に従うとユーザープログラムが非常に作りづらくなることからきています。

１トラックのサイズは４秒以上必要ですが、チェックを行いませんので考慮して作成す
る必要があります。（実際にＣＤ−ＲＯＭを作成する場合）


■４．５  ＥＭＴＯＣ．ＥＸＥ

セクター再配置情報ファイルの内容を可視化します。
実際にどのように配置されるかを確認できます。

《書式》

EMTOC [スイッチ]

《スイッチ》

/M
MSF（分、秒、フレーム）で表示します。


表示例）

-----------------------------------------------------------------------
# 00000000  00000D25  0 TNO:1 X:1 00 [CD-DA ] D i:\game\message.bin
-----------------------------------------------------------------------
> 00000D25  0000004B  0 TNO:2 X:0 00 [CD-DA ] G gap
  00000D70  00000096  0 TNO:2 X:0 04 [MODE 1] G gap
# 00000E06  00004000  0 TNO:2 X:1 04 [MODE 1] D i:\game\program.bin
  00004E06  00000096  0 TNO:2 X:1 04 [MODE 1] G gap
-----------------------------------------------------------------------
> 00004E9C  00000096  0 TNO:3 X:0 00 [CD-DA ] V virtual
# 00004F32  00000176  0 TNO:3 X:1 00 [CD-DA ] D i:\game\dummy.bgm
-----------------------------------------------------------------------
> 000050A8  0000004B  0 TNO:4 X:0 00 [CD-DA ] G gap
  000050F3  00000096  0 TNO:4 X:0 04 [MODE 1] G gap
# 00005189  00000102  0 TNO:4 X:1 04 [MODE 1] D i:\game\event00.rtf
  0000528B  00000165  0 TNO:4 X:1 04 [MODE 1] D i:\game\event01.rtf


《解説》

# 00000000  00000D25  0 TNO:1 X:1 00 [CD-DA ] D i:\game\message.bin

内容は次の様になります 

00000000･････････････････論理ブロックアドレス
00000D25･････････････････データ長
0････････････････････････ＣＤエミュレータ用内部コード（不定）
TNO:1････････････････････トラック番号
X:1･･････････････････････インデックス番号
00･･･････････････････････ＣＤエミュレータ用内部コード（不定）
[CD-DA ]･････････････････トラックの種別
                           オーディオトラック、MODE1、MODE2など
D････････････････････････データ種別
                           D(ata:データエリア)、V(irtual:仮想ファイル)、
                           G(ap:ギャップ)など
i:\game\message.bin･･････ファイル名

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

付録  CONFIG.CDE、AUTOEXEC.CDEの例（PC DOS J6.3/Vの場合）

CONFIG.SYSの例）

FILES=40
BUFFERS=40		->多めにとってください
DOS=HIGH,UMB
STACK=9,256

COUNTRY=081,437,C:\DOS\COUNTRY.SYS
SHELL=C:\COMMAND.COM /E:500
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE /UMB /DPMI

DEVICE=C:\PLUGPLAY\DRIVERS\DOS\DWCFGMG.SYS
DEVICE=C:\SB16\DRV\VIBRA16.SYS /UNIT=0 /BLASTER=A:220 I:5 D:1 H:5
DEVICE=C:\SB16\DRV\CTMMSYS.SYS
DEVICE=C:\DOS\ANSI.SYS

DEVICE=A:\FXGA\SYS\PCFXPIO.SYS /A:2a3,2a5,2a7 /R:2a4,10
DEVICE=A:\FXGA\SYS\TGFX.SYS /PORT=2a0
DEVICE=A:\FXGA\SYS\NXSBPCM.SYS
SET HBINPATH=A:\FXGA\BIN
SET DOS16M=1
SET PCFXBACKUP=A:\FXGA\PCFXBACK.RAM
SET PCFXCARD=A:\FXGA\PCFXCARD.RAM,128K



AUTOEXEC.CDEの例)

@ECHO OFF
A:\DOS\SMARTDRV.EXE              ->必ず使用してください
PATH A:\FXGA\BIN;A:\DOS

SET BLASTER=A220 I5 D1 H5 P330 T6
SET SOUND=C:\SB16

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

《再頒布の条件等》

・TGFX.SYS 及び TGFX.TXTは以下の条件をすべて満たす場合に限り、再頒布を許可して
おります。

１）ＰＣ−ＦＸＧＡ対応で本ソフトウェアを必要とするアプリケーションであること。
２）このファイルを含む本ソフトウェアを、改変することなくアプリケーションと組み
    あわせて頒布すること。
３）アプリケーションには、作成者本人あるいは団体の著作権表示をすること。


《著作権及び登録商標等》

・NXCD2.EXE,NXCD.TXT,TGFX.SYS,TGFX.TXT,NXSBPCM.SYS,NXEMPCM.SYS,CDMAKE.EXE及び
  EMTOC.EXE（以下、"本ソフトウェア"という）は、ＰＣ−ＦＸＧＡ用のソフトウェア
  開発ツールの一部です。
  本ソフトウェアを、ＰＣ−ＦＸ、ＰＣ−ＦＸＧＡ用のソフトウェア開発以外の目的で
  使用しないで下さい。

・本ソフトウェアを使用した結果、直接及び間接的に生じた損害について、株式会社ハ
  ドソンは、一切の責任または債務を負わないものとします。

・本ソフトウェアの操作方法、技術的内容、その他の質問について、株式会社ハドソン
  では、直接お答えしていません。お問い合わせはご遠慮下さい。

・本ソフトウェアの使用に際し、「ソフトウェアのご使用条件」をよくご覧いただき、
  ご利用下さいますようお願い致します。

・本ソフトウェアの著作権は、株式会社ハドソンが保有しています。


MS-DOSは米国マイクロソフト社の登録商標です。
Sound BlasterはCreative Technology Ltd.の登録商標です。
その他、記載されている会社名、製品名は、各社の登録商標または商標です。


                                                            (C)1996 HUDSON SOFT

